package collection.stream;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors;

/**
 *
 */
public class Test2 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        list.add("www.baidu.com");
        list.add("www.google.com");
        list.add("www.sina.com");
        list.add("www.qq.com");
        list.add("www.163.com");
        list.add("www.openai.com");
        list.add("www.twitter.com");
        list.add("www.youtube.com");
        list.add("www.facebook.com");
        list.add("www.instagram.com");
        list.add("www.tiktok.com");
        list.add("www.yahoo.com");
        list.add("www.wikipedia.org");
        list.add("www.amazon.com");
        list.add("www.ebay.com");
        list.add("www.reddit.com");
        System.out.println(list);
        // 需求：获取所有网址中的域名，并且仅保留域名字符3个字(含)以上,
        // 并将域名转换为全大写然后按照域名字符个数隆序排序，最终得到所有域名

        List list1 = list.stream().map(e->e.substring(e.indexOf(".")+1,e.lastIndexOf(".")))
                .filter(e->e.length()<=3)
                .map(e->e.toUpperCase())
                .sorted((e1,e2)->e2.length()-e1.length())
                .collect(Collectors.toList());
        System.out.println(list1);


        List list2 = list.stream().map(e->e.substring(e.indexOf(".")+1,e.lastIndexOf(".")))
                .filter(e->e.length()>=3)
                .map(e->e.toUpperCase())
                .sorted((e1,e2)->e2.length()-e1.length())
                .collect(Collectors.toList());

        System.out.println(list2);


    }
}
